<!--
 * @Author: your name
 * @Date: 2021-07-22 10:50:23
 * @LastEditTime: 2021-07-26 19:28:10
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \单词\mathematics.html
-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //1、标准排序 从小到大  先选出最小的
        // var arr = [5,8,3,6,9]                   //声明一个数组
        // for(var i=0;i<arr.length;i++){          //循环找出一个数i
        //     for(var j=i+1;j < arr.length;j++){  //循环在找出i后面的每一个数j和i对比
        //       if(arr[i]>arr[j]){                //将两个数进行比较，比出符合条件的
        //         var temp                        //声明一个变量temp
        //         temp=arr[i];                    //将大数i赋值给temp(先将大数拿出来)
        //         arr[i]=arr[j];                  //将小于i的j赋值给i的位置(将小数向前挪)
        //         arr[j]=temp;                    //再将temp上的数赋值个j的位置(将大数向后挪)
        //         }
        //     }
        // }
        // console.log(arr);                       //改变原数组，循环完毕


        //第二种：冒泡排序 从小到大 先选出最大的
        // var arr = [5,4,6,1,3,2];                //声明一个数组
        // var str;                                //声明变量
        // for(var i=0;i<arr.length;i++){          //循环6次
        //     for(var j=0;j<arr.length-i-1;j++){  //循环5.4.3.2.1.0次
        //         if(arr[j]<arr[j+1]){            //取出两位相邻的数，将两个数进行比较
        //             str = arr[j];               //前面的j大就赋值给temp
        //             arr[j] = arr[j+1];          //在将后面小的j+1赋值给j的位置
        //             arr[j+1] = str;             //再将temp上的数赋值个j+1的位置
        //         }
        //     }
        // }
        // console.log(arr);                       ////改变原数组，循环完毕
        
        // var i = arr.length;
        // while(i>0){
        //     for(var j=0;j<i-1;j++){
        //         if(arr[j]<arr[j+1]){
        //             str = arr[j];
        //             arr[j] = arr[j+1];
        //             arr[j+1] = str;
        //         }
        //     }
        //     i--;
        // }
        // console.log(arr);



        //2、字符串出现最多个数（2种）
	    //.str=”abcdefgaaass”找字符中出现最多的;第一种
	 	var str ='abcdefgaaass'
          var newarr=str.split("");
          var max=0,val="";
          function fn(arr,a){
            var count=0;
            for(var i=0;i<arr.length;i++){
                if(arr[i]==a){
                  count++;
                }
            }
            return count;
          }
          for(var i=0;i<newarr.length;i++){
              var ind=fn(newarr,newarr[i]);
              if(ind>max){
                max=ind;
                val=newarr[i];
              }
          }
          console.log("出现最多的字符是"+val+"出现的次数是"+max)
          g(arr.sort(function(a,b){return a-b}))

		// 12、写出一个段脚本，输出当前日期5天之后是星期几,三种方法
		// 第一种
		/*var now=new Date();
		var day=now.getDate()
		var week=['日','一','二','三','四','五','六']
		now.setDate(day+5)
		console.log('星期'+week[now.getDay()])*/
		//第二种
		/*var now=new Date();
		var year=now.getFullYear();
		var month=now.getMonth();
		var date=now.getDate();
		var week=['日','一','二','三','四','五','六']
		var fulture=new Date(year,month,date+5);
		console.log('5天之后是星期'+week[fulture.getDay()])*/
		//第三种
		/*var now=new Date();
		var time=now.getTime();
		var fulture=new Date();		
		var ftime=time+24*60*60*1000*5;
		var week=['日','一','二','三','四','五','六'];	
			fulture.setTime(ftime);
		console.log('5天之后是星期'+week[fulture.getDay()])*/

		//13、封装一个n天之后是星期几的函数
		// function getday(n){
		// 	n=typeof(n)==='undefined'?0:n;
		// 	var now=new Date();
		// 	var time=now.getTime();
		// 	var fulture=new Date();
		// 	var ftime=time+24*60*60*1000*n;
		// 	fulture.setTime(ftime);
		// 	return fulture.getDay();
		// }
		// console.log(getday());

		//14、"wellcome  to beijing"把第一个变大写返回'WellcomeToBeijing'
		//和上题相同。驼峰
		

		//15、封装一个方法，实现求任意多个数的平均值。
		// function f1(){
		// 	//用一个变量接收和
		// 	var temp = 0;
		// 	//循环每个参数
		// 	for(var i=0; i<arguments.length; i++){
		// 		temp += arguments[i];
		// 	}
		// 	//返回平均数
		// 	return temp/arguments.length;
		// }
		// console.log(f1(1,2,3,4,9))

		//16、/*判断字符串是否对称*/
		// var  str1="abch6g5g6hcba";      // aba
        // function isduic(str){
        //     for(var i=0,len=str1.length;i<len/2;i++){
        //       // alert(str[i]);
        //       if(str[i]!=str[len-1-i]){//str.charAt(i)!=str.charAt(len-1-i);
        //           return "不对称";
        //       }
        //     }
        //     return "对称";
        // }
        // console.log(isduic(str1));

        //17、千分符
        //  var str2=46548978911;
        // function qianff(str){
        //     var strn=str.toString(),
        //         len=strn.length,
        //         ind=len%3,
        //         //console.log(strn);
        //         newstr=strn.substr(0,ind);
        //         console.log(newstr);
        //         if(ind==0){
        //            newstr=strn.substr(0,3);
        //             ind=3;
        //             //console.log(newstr);
        //         }
        //         for(i=ind;i<len;i=i+3){
        //           newstr+=","+strn.substr(i,3);
        //         }
        //         return newstr;
        // }
        // console.log(qianff(str2))

        //18、随机生成十六进制的颜色值 var arr=["0","2","3","4","5","6","7","8","9","a","b","c","d"]
        // var arrHex=["0","2","3","4","5","6","7","8","9","a","b","c","d"];
		// var fuhao = "#";
		// for(var i=0;i<6;i++){
		// 	var color = arrHex[Math.floor(Math.random()*arrHex.length)];
		// 	fuhao= fuhao+color;
		// 	// str =str+arrHex[a];
		// }
		// console.log(fuhao);

		//19、随机从数组中取出三个不同的值。var arr = [1,2,3,4,5,6,7,8,9];
		// var arr = [1,2,3,4,5,6,7,8,9];
		// var brr = [];
		// for(var i=0;brr.length<3;i++){
		// 	var a = Math.floor(Math.random()*arr.length);
		// 	var b = arr[a];
		// 	if(brr.indexOf(b)==-1){
		// 		brr.push(b);																						
		// 	}
		// }
		// console.log(brr);

		//20、求数组中字符串的个数
		// var str=[0,1,2,3,4,5,"a","b","c","b"],sum=0;
		// function strn(arr){
		// 	for(var i=0;i<arr.length;i++){
		// 		if(typeof(arr[i])=="string"){
		// 			sum++;
		// 		}
		// 	}
		// 	return sum;
		// }
		// console.log(strn(str));

		//21、删除数组中指定的值
		// var drr = ["1411A","44","34305","djg","pic",100,35,28];
		// function fun5(rr,num){
		// for(var i = 0; i<rr.length;i++){
		// 	if(rr[i]==num){
		// 		rr.splice(i,1);
		// 		break;
		// 	}
		// }
		// 	var newrr = rr.splice(num,1);
		// 	return rr;			
		// }
		// console.log(fun5(drr,1));

		//22、把重复的值放入一个新的数组中  //这中方法过于繁琐，可以使用indexOf方法，等于-1判断
		// var hrr = ["55","55","2","1"];
		// function fun7(rra,num){
		// 	var a = 0;
		// 	for(var i = 0;i<rra.length;i++){
		// 		if(rra[i]==num){
		// 			a++;
		// 		}
		// 	}
		// 	return a;
		// }
		// var rrb = [];
		// for(var i = 0 ;i <hrr.length;i++){
		// 	var length = fun7(hrr,hrr[i]);
		// 	if(length >1){
		// 		rrb.push(hrr[i]);
		// 	}
		// }
		// console.log(rrb);

		//23、截取字符串的var s="abcdefg";截取完成后实现反转功能：g,f,e  其实等同于数组翻转
			// 第一种
		/*var str="hello";
		var arr=str.split("");
		var rts=arr.reverse();
		console.log(rts);*/
		// 第二种
		/*var str="hello";
		var strn="";
		for(var i=str.length;i>=0;i--){
			strn+=str[i];
		}
		console.log(strn);*/
		//第三种
		/*var str="hello",arr=[];
		for(var i=0;i<str.length;i++){
			arr.unshift(str[i]);
		}
		console.log(arr);*/

		//24、拓展一个方法，用于删除数组中的指定值。同21题一样


		//附1：编程实现数组中有几个字符串元素
		// var brr = ["1411A","44","34305","djg","pic",100,35,28];
		// function fun4(crr){
		// 	var count = 0;
		// 	for(var i = 0;i<crr.length;i++){
		// 		if(typeof crr[i] == "string"){
		// 			count++
		// 		}
		// 	}
		// 	return count;
		// }
		// fun4(brr);
		
		
		//附2：数组反转
		// var s = "abcdefghiklmn";
		// function fun6(str){
		// 	// var ss = s.splice("");
		// 	var ss = s.split("");
		// 	var ssa = [];
		// 	for(var i = 0 ;i<ss.length;i++){
		// 		ssa.unshift(ss[i]);
		// 	}
		// 	return ssa.join("");
		// }
		// fun6(s);
		//附3：将所有数组内所有重复的值取出来放到一个新的数组中
        // var st="123abcdefgaaaasssssssssssssss123",srn="",cou=0;
        // var str=st.split("");
        // function stn(srr,strn){
        // 	var count=0;
        // 	for(var i=0;i<srr.length;i++){	
        // 		if(srr[i]==strn){
        // 			count++;
        // 		}
        // 	}
        // 	return count;
        // }            
        // for(var i=0;i<str.length;i++){
        // 	var anr=stn(str,str[i]);
        // 	if(anr>cou){
        // 		cou=anr;
        // 		srn=str[i];
        // 	}
        // }  
        // console.log("出现最多的字母是"+srn+"次数"+cou); 

    </script>
</body>
</html>
